/*
   案例：a = this.$Tools.deepCapy(a,b);
*/

//深拷贝 只能自己封装方法 用递归的方式将旧对象中复合数据类型的属性值 
// 拆为一个一个的基本类型 再一个一个的赋给新对象 对应的属性值,从而达到解除多层引用的关系
//作用：解除多层引用的关系

export function deepCapy(new_obj, old_obj) {
	//先遍历老对象
	for (var Item in old_obj) {
		//将老对象的每一项的属性值暂时存储到main变量中
		var main = old_obj[Item];
		// console.log('main=>',main)

		//然后判断每一项属性值是什么类型
		if (main instanceof Array) { //如果是数组
			// 将对应的新对象属性值 转为 空数组
			new_obj[Item] = [];
			// console.log('Array_main=>',main)
			//用递归 将每一项属性值 类型  为数组 的都给遍历
			deepCapy(new_obj[Item], main);
		} else if (main instanceof Object) { //如果是对象
			// 将对应的新对象属性值 转为 空对象
			new_obj[Item] = {};
			// console.log('Object_main=>',main);
			//用递归 将每一项属性值 类型  为对象 的都给遍历
			deepCapy(new_obj[Item], main);

		} else { //如果是Js的基本类型 null undefined String Number Boolean 
			//因为最后的数据都为基本类型 
			//再赋予对应的属性值
			new_obj[Item] = main;
		}
	}
	//再返回赋值后的新对象
	return new_obj
}


// 微信授权方法
export function accredit() {
	return new Promise((ress, rejj) => {
		uni.getUserProfile({
			lang: "zh_CN",
			desc: "登录",
			success: (res) => {
				wx.login({
						provider: 'weixin',
						success: (loginRes) => {
							console.log("code=====>", loginRes)
							ress(loginRes.code);
						},
						fail: (loginErr) => {
							rejj(loginErr);
						}
					
				
				})
			},
			fail() {
				console.log('用户拒接授权')
			      // rejj('用户拒接授权')
			}
		    })
			
	})


}
